﻿using LJ.Abstractions.DependencyInjection;
using LJ.Abstractions.DependencyInjection.Attributes;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LJ.Host.Web.Test.DependencyInjection;

public interface IDependency1
{
    int Value { get; }
}

public class Dependency1 : IDependency1
{
    public int Value => 1;
}


public interface IDependency2
{
    int Value { get; }
}
[Dependency( Microsoft.Extensions.DependencyInjection.ServiceLifetime.Singleton)]
public class Dependency2 : IDependency2
{
    public int Value => 1;
}

public interface IDependency3: ISingletonDependency
{
    int Value { get; }
}
public class Dependency3 : IDependency3
{
    public int Value => 1;
}